有符号数溢出: void BreakFor() { for (int i = 1; i > 0; i++) { printf("%d \r\n", i); } } 上面的程序并不是死循环,当有符号数增加到最大整数后,继续加一会进位修改符号位,从而成为负数。 自增、自减 98: int nVarOne ...
分类:
编程语言 时间:
2020-01-05 20:38:42
阅读次数:
109
背景:不同字长的整数进行转换,需要在不改变数的大小的前提下将较小的数据类型转为更大的数据类型。 无符号数的扩展:开头加0即可,也叫零扩展。 有符号数(补码)的扩展:开头添符号位。 1 short sx = -12345; 2 unsigned short usx = sx; 3 int x = sx ...
分类:
其他好文 时间:
2020-01-05 13:57:18
阅读次数:
87
条件跳转表 汇编语言-条件跳转指令 直接转移指令 指令格式机器码测试标志条件说明符号 JO OPR 70 OF=1 结果有溢出 JNO OPR 71 OF=0 结果无溢出 JC OPR 72 CF=1 小于 < JNC OPR 73 CF=0 大于或等于 >= JZ/JE OPR 74 ZF=1 结 ...
分类:
其他好文 时间:
2020-01-04 22:02:14
阅读次数:
341
例: ~15 先变成二进制:15:0000 1111 这个其实挺简单的,就是把1变0,0变1 注意:二进制中,最高位是符号位 1表示负数,0表示正数 ...
分类:
编程语言 时间:
2020-01-03 14:00:32
阅读次数:
133
补码:https://baike.baidu.com/item/补码/6854613?fr=aladdin ==就是因为有模的存在,减法变成了加法 a-b = a+(mod-b) == 负数的补码是其各位取反(符号位为0时变成1,符号位为1时不变化)。后加1 ...
分类:
其他好文 时间:
2020-01-01 16:30:33
阅读次数:
74
浮点数类型 IEEE标准从逻辑上采用一个三元组{S, E, M}来表示一个数N,它规定基数为2,符号位S用0和1分别表示正和负,尾数M用原码表示,阶码E用移码表示。根据浮点数的规格化方法,尾数域的最高有效位总是1,由此,该标准约定这一位不予存储,而是认为隐藏在小数点的左边,因此,尾数域所表示的值是1 ...
分类:
编程语言 时间:
2019-12-31 23:16:05
阅读次数:
94
计算机中的有符号数有三种表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”; 而数值位,三种表示方法各不相同。 在计算机系统中,数值一律用补码来表示和存储。 原因在于,使用补码,可以将符号位和数值域统一处理,同时,加法和减法也可以统一处理。 ...
分类:
其他好文 时间:
2019-12-31 21:45:38
阅读次数:
95
1- matlab 与 vivado 读取ila/csv文件 2- matlab与questasim 1) matlab生成数据,questasim读取 matlab存储(以25位有符号定点数为例): 最高位为符号位,data归一化*0.99*(2^24 - 1),取整,并转化为对应进制, 2)qu ...
分类:
其他好文 时间:
2019-12-28 09:31:28
阅读次数:
92
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 重点掌握原码和补码的转换!!! 解题思路:对于正数使用模2取余法实现;对于负数先让它和2147483647(即:int类型下最大正数)与运算再按照正数的计算方法,最后加上一位符号位即可 代码如下: 1 public class Sol ...
分类:
其他好文 时间:
2019-12-27 12:02:55
阅读次数:
97
题目分析:byteb=200,其中byte为字节类型,其值的范围:-128~127200超出一个字节,所以200为int类型,占4个字节解题思路:求出200(int)的二进制数据,截取一个字节长度用截取的补码算出一个字节的原码解题:用8421码求出200的二进制200=128+64+8所以200的二进制为:00000000 00000000 00000000 11001000截取一个字节为:110010
分类:
其他好文 时间:
2019-12-25 22:03:10
阅读次数:
84