C++查看任意数据类型比特位串

本文探讨了如何在C++中查看各种基本数据类型的二进制位串,并将其转化为二进制位图。通过强制类型转换,将任意基本类型数据解释为整型以查看位图,同时介绍了如何将比特串反向转换回原始数据类型。代码示例展示了这一过程。
摘要由CSDN通过智能技术生成

本文介绍如何查看C++基本数据类型的二进制位串,及用二进制串生成任意基本类型数据。

C++中的基本数据类型

  • char
  • bool
  • short
  • int
  • unsigned
  • long
  • float
  • double
  • long long
  • void *

有些编译平台甚至包含 long double,主流的基本数据类型最长不超过64比特位。

任意基本类型转化为比特串

布尔运算和移位操作只能用于整型类数据,这与硬件有关,其实浮点型的移位操作没有意义。如果我们想查看某个浮点型数据的二进制位图,采用普通的移位和求与是无法编译的。我们知道任何数据,首先存放在内存中的某几个连续单元,至于我们所理解的数据类型不过是对二进制位图的不同解释。所以我们可以通过把某个数据强制转化为整型,从而查看位图。注意这里的强转不是C/C++中的类型转换,而是解释方式转换,即通过指针把二进制位图解释成想要的基本数据类型。
代码如下:

typedef unsigned long long ULL;
template <typename T>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值