社区
C语言
帖子详情
存为16位的负数转成32位存的问题
flairy
2004-01-28 08:07:39
一些数值原来是存成16bit的文件,就是用16bit就可以了,现在要把它转成32bit存的文件
,这样对于正数后面加16bit的0就可以了,但对于负数是不是后面加16bit的1就可以了?
不是很肯定,就问一下.
另外如果原来是24bit存的,是不是也可以这样?
...全文
676
5
打赏
收藏
存为16位的负数转成32位存的问题
一些数值原来是存成16bit的文件,就是用16bit就可以了,现在要把它转成32bit存的文件 ,这样对于正数后面加16bit的0就可以了,但对于负数是不是后面加16bit的1就可以了? 不是很肯定,就问一下. 另外如果原来是24bit存的,是不是也可以这样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flairy
2004-01-29
打赏
举报
回复
谢谢各位,对于这个问题,让计算机自己去转换,是一个方法,即不用判断正负,直接存作32bit的int。
另一个方法就是判断正负,手工加符号位转换,根据各位所讲,如果是负数原16位不动,高16位加1扩展,如果是正数,高16位加0扩展,就是这样,没有问题吧?
按推想是这样,只是生怕有特殊情况,把某些数据弄错了,就问题大了。所以再次确认一下,重复一下,自己也不要理解错了。
嘟嘟猫的转折点
2004-01-29
打赏
举报
回复
计算机内存储数据都使用的补码(32位整数的机器)
int value = 13;
value 的32位表示为
00000000 00000000 00000000 00001101
将value去反得到2进制反码
11111111 11111111 11111111 1111 0010
将value的反码末位加一得到value的补码
11111111 11111111 11111111 1111 0011
Zark
2004-01-29
打赏
举报
回复
手工的转换,你必须清楚正负数在计算机里的存贮方式,这个问题可以让计算机自已去处理
signed short sVal=-2;
singed int iVal=sVal;
即可.
hifrog
2004-01-28
打赏
举报
回复
恩,数的高位用符号位扩展就可以。
fenghuangling
2004-01-28
打赏
举报
回复
“这样对于正数后面加16bit的0就可以了,但对于负数是不是后面加16bit的1就可以了”
应该是在前面加
例如:
16BIT
1 ----》 0000 0000 0000 0001
-1 ----》 1111 1111 1111 1111
32BIT
1 ----》 0000 0000 0000 0000 0000 0000 0000 0001
-1 ----》 1111 1111 1111 1111 1111 1111 1111 1111
汇编语言实验(统计正数
负数
和零
求一个长为N(小于255)的ARRAY字数组中正数、
负数
与零的个数,正数的个数
存
放在DH中,
负数
的个数
存
放在DL中,零的个数
存
放在BH中。(扩展:将统计的结果显示出来)
已知线性表按顺序
存
于内
存
,每个元素都是整数,试设计把所有值为
负数
的元素移到全部正数值元素前边的算法 .cpp
已知线性表按顺序
存
于内
存
,每个元素都是整数,把所有值为
负数
的元素移到全部正数值元素前边的算法
Modbus协议讲解及实现
课程背景Modbus 协议是工业自动化控制系统中常见的通信协议,协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Modbus 协议初学者的课程。本课程不同于以往市面课程只是协议讲解无实现代码,而是采用讲解与实践并重的方式,结合STM32F103ZET6开发板进行手把手编程实践,十分有利于初学者学习。涵盖了学习者在Modbus协议方面会遇到的方方面面的
问题
,是目前全网首个对Modbus协议进行全面总结的课程。课程名称 协议讲解及实现>>课程内容1、Modbus 协议的基础。2、Modbus协议栈函数编程实现。3、Modbus协议在串行链路编程实现。4、Modbus协议在以太网链路编程实现。5、常见
问题
的解决方法。带给您的价值通过学习本课程,您可以做到如下:1、全面彻底的理解Modbus协议。2、理解在串行链路,以太网链路的实现。3、掌握Modbus协议解析的函数编程方法,调试工具的使用。4、掌握多个串口,网口同时运行同一个Modbus协议栈的方法。5、掌握Modbus协议下,
负数
,浮点数等处理方法。讲师简介许孝刚,山东大学工程硕士,副高职称,技术总监。10多年丰富嵌入式系统开发经验,国家软考“嵌入式系统设计师”。2017年获得“华为开发者社区杰出贡献者”奖励。
E8进销
存
管理软件V9.6
E8进销
存
软件包含进销
存
三
位
一体化软件,特别为中小企业设计,它的功能范围包括进货管理、销货管理、退换货管理、应收应付款的管理、库
存
管理,并配备有功能完整、全面的经营报告系统(收支明细表、进货明细表、销货明细表、库
存
一览表、货品进销一览表、货品销售排行榜、经营状况表等)。具有超强穿透力的查询功能,使您可以追溯到发生过的任何一笔业务,安装后马上可以开始使用,是一款即装即用的软件。它的功能覆盖了中小型企业财务管理和货品进销
存
管理的方方面面,是一款非常实用的软件。同时本软件具有最低销售限价功能、客户最大欠款限制机制、
负数
出库与非
负数
出库自动切换、出库入库价格跟踪、定义商品自动打折时间及折扣的功能。独特的通过普通宽带(如ADSL)连接远程数据库,轻松实现广域网(互联网)上数据共享操作,为用户节省巨大宽带租用费用。
sql语句的基础知识入门啊
SQL语句的基础知识入门啊
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章