相关文章推荐
坚强的南瓜  ·  使用quill-blot-formatter ...·  6 月前    · 
儒雅的生菜  ·  福美来F5-Hi智车·  1 年前    · 

有符号数,第一位做为符号,0为正数,1为负数。范围(-128 - 127)
十六进制转有符号的十进制:
方法1:
对正数,后7位的值即为数值。
对负数,128减后7位表示的数即为负号后的值


1110 1100(EC)为负数,后7位的值为6c,即108,128-108=20,此数为-20
1111 1111(FF)为负数,后7位的值为7f,即127,128-127=1,数为-1
0100 1110(CE)为正数,后7位的值为4e,即78,此数为 78

对于正数,是原数(unsigned)。
对于负数,原数(unsigned)减去溢出值。


1110 1100(EC)为负数, 236-256 = -20;


有符号的10进制数转为16进制数:
方法1:
对正数,值转为16进制即可
对负数,128减负数后面的值,转为16进制,与0x80做或运算,即为要求值

-49,负号后面的值是49,128-49=79,79转为16进制为0x4f,0x4f+0x80=cf,
方法2:
-20 + 256 = 236,转16进制 EC.

1110 1100(EC)为负 ,后7位的值为6c,即6*16+12=108,128-108=20,此 为-20 1111 1111(FF)为负 ,后7位的值为7f,即7*16+15=127,128-127=1, 为-1 11... 012A=0 X 163 + 1 X 162+ 2 X 161 + 10 X 160 = 298 说明:当中的 十六进制 :a=10 b=11 c=12 d=13 e=14 f=15 第二种:迂回法 将 十六进制 转换 为二进制在 转换 十进制 (第一种小伙伴们或许不好理解,第二种容易理解) 1A首先 为二进制:0001 1010 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX 学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar 今天做小程序开发,需要将对应蓝牙特征值中的 据( 十六进制 字符串) 化为 十进制 。 var a = "F831"; console.log("####->"+parseInt(a,16)); 发现0xF831 转换 十进制 后,结果却是63537。但在底层开发中, 据类型为int16_t(有 符号 2字节)。 转换 的完全对不上呀! 朋友推荐一篇参考博客。下面为 载内容。 十进制 二进制:求-5的补码,过程如下:-5对应正 5(00000101)→所有位取反(11111010)→加1(11111011),所以-5的补码是11111011。 0的补码表示是唯一的。二进制 十进制 :给定一个有 符号 二进制 11111011,先减去1等于11111010,再取反00000101,得到的 十进制 为-5。