#include <iostream>

using namespace std;

void showIntBit(int a);
void showDoubleBit(double a1);
void showFloatBit(float a1); int main()
{
int a1 = ;
double a2 = 20.0;
float a3 = 20.0f; cout << "" << sizeof(a1) <<" "<<sizeof(a2)<< " "<<sizeof(a3)<<endl;
showIntBit(a1);
showDoubleBit(a2);
showFloatBit(a3); system("pause");
return ;
} //按位置取元素判断 int 4个字节,char 1个字节, 1个字节8位
void showIntBit(int a1) {
char *c1 = (char *)&a1;
char byte1;
int len1 = ;
if (a1 <= )
{
len1 = ;
}
else if (a1 > && a1 <= )
{
len1 = ;
}
else if (a1 > && a1 < )
{
len1 = ;
}
else
{
len1 = ;
} for (int i = ; i<len1; i++)
{
byte1 = *c1;
for (int j = ; j<; j++)
{
if (0b10000000 & byte1)
{
cout << "";
}
else
{
cout << "";
}
byte1 = byte1 << ;
}
cout << " ";
c1++;
}
cout << endl;
} void showDoubleBit(double val1)
{
unsigned idx;
unsigned char arr[sizeof val1]; memcpy(arr, &val1, sizeof val1); for (idx = CHAR_BIT * sizeof val1; idx--; )
{
putc(
(arr[idx / CHAR_BIT] & (1u << (idx%CHAR_BIT)))
? ''
: ''
, stdout
);
} cout << endl;
} void showFloatBit(float val1) {
unsigned idx;
unsigned char arr[sizeof val1]; memcpy(arr, &val1, sizeof val1); for (idx = CHAR_BIT * sizeof val1; idx--; )
{
putc(
(arr[idx / CHAR_BIT] & (1u << (idx%CHAR_BIT)))
? ''
: ''
, stdout
);
} cout << endl;
}

4 8 4
00010100
0100000000110100000000000000000000000000000000000000000000000000
01000001101000000000000000000000
请按任意键继续. . .

C++ int double float对应的长度以及二进制的更多相关文章

  1. c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)

    --- 已经通过初步测试---- ------------------ 下面的是传统常见数据类型的转换(非c++11)---------------  std::string 与其他常用类型相互转换, ...

  2. long int double float

    参考:https://blog.csdn.net/ideality_hunter/article/details/78432486 long是长整型,64位 int是短整型,32位 double是双精 ...

  3. string 与 int double 的转化

    #include <iostream> #include <string> #include <sstream> using namespace std; int ...

  4. mysql基础之double,float长度标度定义

    MySQL类型float double decimal的区别 float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decima ...

  5. 别在int与float上栽跟头(转)

    源:http://www.cnblogs.com/luguo3000/p/3719651.html int与float是我们每天编程都用的两种类型,但是我们真的足够了解它们吗.昨天在博客园看到一个比较 ...

  6. 别在int与float上栽跟头

    int与float是我们每天编程都用的两种类型,但是我们真的足够了解它们吗.昨天在博客园看到一个比较老的笑话: “昨天晚上下班回家,一民警迎面巡逻而来.突然对我大喊:站住!民警:int 类型占几个字节 ...

  7. Java 浮点数精确性探讨(IEEE754 / double / float)与 BigDecimal 解决方案

    一.抛砖引玉 一个简单的示例: double a = 0.0; IntStream.range(0,3).foreach(i->a+=0.1); System.out.println(a); / ...

  8. java中浮点数的比较(double, float)(转)

    问题的提出:如果我们编译运行下面这个程序会看到什么? public static void main(String args[]){ System.out.println(0.05+0.01); Sy ...

  9. double float的精度问题

    三部曲 1: #include <iostream> #include <stdio.h> #include <string.h> using namespace ...

随机推荐

  1. 初入Linux

    初步进入linux世界 [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某 ...

  2. spring boot flyway 配置说明(摘抄)

    flyway.baseline-description对执行迁移时基准版本的描述. flyway.baseline-on-migrate当迁移时发现目标schema非空,而且带有没有元数据的表时,是否 ...

  3. beta冲刺(4/7)

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:项目beta冲刺(团队) 团队名称: 那周余嘉熊掌将得队 作业目标:beta(4/7) 队员学号 队员姓名 博客地址 备注 221600 ...

  4. typename T::SubType * ptr;

    #include <iostream> using namespace std; template<class T> class MyClass{ public: typena ...

  5. isa objc_msgSend

    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles ...

  6. Educational Codeforces F. Remainder Problem

    [传送门] 题意就是单点加以及查询下标为等差数列位置上的值之和.刚开始看到这道题.我以为一个数的倍数是log级别的.就直接写了发暴力.就T了.还在想为啥,优化了几发才发现不太对劲.然后才想到是$\df ...

  7. ant-design-vue有v-decorator时defaultValue无效

    <a-input v-decorator="[ 'userName', { rules: [ { required: true, message: '请输入您的账号!' } ], in ...

  8. Scrapy爬虫案例 | 数据存储至MongoDB

    豆瓣电影TOP 250网址 要求: 1.爬取豆瓣top 250电影名字.演员列表.评分和简介 2.设置随机UserAgent和Proxy 3.爬取到的数据保存到MongoDB数据库  items.py ...

  9. [RN] React Native Fetch请求设置超时

    一.实现思路 根据Promise.race的特性,我们在Promise.race里面添加两个任务,一个是正常的网络请求任务A,另外一个便是网络延时任务B,网络延时可以利用setTimeout方法实现. ...

  10. 【题解】洛谷 P1080 国王游戏

    目录 题目 思路 \(Code\) 题目 P1080 国王游戏 思路 贪心+高精度.按\(a \times b\)从小到大排序就可以了. \(Code\) #include<bits/stdc+ ...