python中的补码

python中的补码

python中的补码

写在前面:
使用python的PYQT5模块进行制作上位机,根据传感器的通讯协议对报文进行解析,里面用到补码。
如果是在下位机(STM32F407)中,因为使用的编程语言为C语言,所以直接定义变量类型为int即可直接求出补码,但是Python中稍微有些不同,请看下面的例子。

例子

以-3为例:
源码:b’1000 0011’
反码:b’1111 1100’
补码:b’1111 1101’

1、在python中

 bin(-3)结果为'-0b11'

所以我们需要

bin-3 & 0xff)结果为'0b11111101'

2、在C语言中
我们只需要定义变量类型为char或者int型即可,如果定义的变量与int类型变量不一致(小于int类型的长度),那么我们只需要将定义的变量使用<< 进行以为操作即可。转化之后在使用>>移回来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2135.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java课程设计

    Java课程设计#1.团队名称、团队成员##团队名称:秃头团队|成员|任务分配|||||林小强(组长)|dao包util包可视化||陈泽役|model包可视化|#2.前期

  • BigDecimal.setScale 处理java小数点

    BigDecimal.setScale 处理java小数点BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4setScale(1,BigDecimal.ROUND_H

    2022年10月20日
  • 简述你是如何理解Java语言中的变量和常量的?_java什么是变量和常量

    简述你是如何理解Java语言中的变量和常量的?_java什么是变量和常量Java基础语法之Java常量与变量

  • centos7 firewall开放查看关闭端口

    centos7 firewall开放查看关闭端口

  • elf 变异upx 脱壳

    elf 变异upx 脱壳题目是某ctf题首先使用IDA打开:函数极少,有壳。查看函数这个跳转比较可疑下面进行IDA动态调试进入loc_52D516再进入直到找到jmpr13运行到这里,F8跳转直接retn下断点F9,直接retn下断点F9重复,直到遇到一个大跳转单步,然后return来到了程序入口下面dump脱壳(转储的意思)。dump要使用脚本,因为我是个菜鸡,直接在网上找的脚本,通用的。idc脚本下载可以存放在ida里面有个脚本的文件夹idc,源码后面会附上首先在D盘下

  • windows下CMD常用命令[通俗易懂]

    windows下CMD常用命令[通俗易懂]作为一个开发者,我们用的最多的就是windows,但是对于cmd,我不知道大家熟不熟,反正我是一直不怎么熟悉。平时操作linux比较多,反而忽视了cmd相关命令,这里大致总结一些常用的命令,作为记录。一、常用命令1、进入某个盘//进入d盘D://进入F盘F:这里我经常弄混,老是用cd命令,结果回回进不去。。Linux和windows果然不一样。2、查看目录文件//查看当前目录下的文件,类似于l

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号