C++中如何实现int类型按字节打印输出
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本文小编为大家详细介绍"C++中如何实现int类型按字节打印输出",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中如何实现int类型按字节打印输出"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2025年11月13日C++中如何实现int类型按字节打印输出
本文小编为大家详细介绍"C++中如何实现int类型按字节打印输出",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中如何实现int类型按字节打印输出"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
代码如下:
#includeusing namespace std;int main(){ int i = 128; cout << sizeof(int) << endl; unsigned char* cc = (unsigned char*)&i; for (int j = 0; j < 4; j++) printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j)); system("pause"); return 0;}
输出:
以上是正确代码
以下对代码做改变
unsigned char* cc = (unsigned char*)&i;改为 char* cc = ( char*)&i; //代码如下:#includeusing namespace std;int main(){ int i = 128; cout << sizeof(int) << endl; char* cc = ( char*)&i; for (int j = 0; j < 4; j++) printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j)); system("pause"); return 0;
输出:
输出为什么是ffffff80呢?
char类型是有符号字符型变量还是无符号字符型变量,要看编译器是怎么定义的,不能想当然。char变量为一个字节,8bit,sighed char表示的范围是-128~127,(-128在内存中二进制表示为1000 0000,127在内存中二进制表示为0111 1111),unsighed char表示的范围是0~255.
给 i 赋值128,十六进制0x80,二进制1000 0000,相当于是给char变量赋值-128.
printf()函数的参数%x其含义为Unsigned hexadecimal integer;即输出一个十六进制的整型,而在代码中,%x对应的是char类型,所以此时printf()函数会将char类型隐式转换为int类型。
对于int类型的对象,其值为-128,则其对应的内存值是0xFFFFFF80
所以,在printf()函数中,char类型隐式转换成int类型后,输出就会变成4字节的0xFFFFFF80
读到这里,这篇"C++中如何实现int类型按字节打印输出"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
类型
输出
字节
代码
变量
C++
二进制
内存
函数
文章
字符型
内容
十六进制
字符
符号
范围
j++
妥当
想当然
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哪个地方有学习网络安全的学校
供应商管理软件开发
IP筛选数据库
nosql 关系型数据库
马拉西亚服务器哪款好
云服务器多少m够用
csgo为什么老连接不到服务器
it行业与软件开发哪个好
云服务器源代码安全性
网络安全知识培训效果评估
网络安全是什么级别
软件开发考二建还是计算机安全
我的世界怎么服务器管理员
数据库规范法的含义
软件开发变更
数据库技术能考取的证书
在温氏集团做软件开发好吗
苹果用什么数据库软件免费的有吗
隔音降噪软件开发
软件开发工程文献检索报告
计算机网络技术计算题汇总
木棉树软件开发有限公司
是不是每个公司都有自己的服务器
中小企业使用云服务器有什么好处
网络技术可以赚多少钱
网络安全教育手抄报 文字
银行数据库安全么
山东省网络安全管理条例
宁波常用网络技术推荐咨询
杭州科技和互联网