ARM不同位数系统int字节数区别

32位和64位系统区别及int字节数

一)64位系统和32位有什么区别?

1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存

2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。

什么是64位处理器?

之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数。8位处理器、16位处理器、32位处理器和64位处理器,其计数都是2的倍数。一次处理的数据越大,该电脑处理信息的能力越来越大;因此64位处理在先天就比32位处理器具有快速的能力。那为什么不用更高级的128位处理器呢?因为位数越高,处理器芯片的设计也就越复杂,目前的技术水平暂时无法制造这么复杂的芯片。

64位处理器之失

※硬件———缺乏驱动程序,很多现有硬件无法使用

※软件———操作系统不是问题,但是软件出现不兼容难题

64位处理器之得

※硬件———更快的执行速度,更大的内存管理

※软件———最新的尖端软件首先出现在64位平台

(二)数据类型对应字节数

程序运行平台
不同的平台上对不同数据类型分配的字节数是不同的。
个人对平台的理解是CPU+OS+Compiler,是因为:
1、64位机器也可以装32位系统(x64装XP);
2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);
3、即使是32位的编译器也可以弄出64位的integer来(int64)。
以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。
虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。
理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

常用数据类型对应字节数
可用如sizeof(char),sizeof(char*)等得出

32位编译器:

  char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)short int : 2个字节int:  4个字节unsigned int : 4个字节float:  4个字节double:   8个字节long:   4个字节long long:  8个字节unsigned long:  4个字节

64位编译器:

  char :1个字节char*(即指针变量): 8个字节short int : 2个字节int:  4个字节unsigned int : 4个字节float:  4个字节double:   8个字节long:   8个字节long long:  8个字节unsigned long:  8个字节

在这里插入图片描述*要知道数据类型表示范围,先用sizeof求出数据类型所占的字节数就可以得出表示范围了。除了float 和 double ,其他求表示范围的公式是:
-2(n-1)~-(2(n-1)-1),n 为数据类型所占的bit数。
*char就是1字节(固定不变),short不少于2字节,int不少于short,
long不少于4字节,且long不少于int,long long不少于long。

*float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:
float:1bit(符号位)+8bits(指数位+23bits(尾数位)
double:1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE 入坑系列 一 双向绑定

html代码<div id"app"><p>{{message}}</p><span>message1</span> <input v-model"message"><span>message2</span> <input v-model"message"></div> View Codejavascript代码var …

semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机

使用ITM机制实现调试stm32单片机&#xff0c;实现printf与scanf。 ITM简介 ITM机制是一种调试机制&#xff0c;是新一代调试方式&#xff0c;在这之前&#xff0c;有一种比较出名的调试方式&#xff0c;称为半主机&#xff08;semihosting&#xff09;方式。 在pc上编写过C语…

5毛钱搞一个2.4GHz射频信号探测器

射频电子领域神秘而又朦胧&#xff0c;今天我们通过一个小小的射频检波电路来体验一下射频世界的魅力。实验目的制作一个 2.4 GHz 射频信号探测器&#xff0c;电路简单总成本不到 5 毛钱。该电路在靠近 2.4 GHz 无线信号时 LED 灯会闪烁。这是我用制作好的 2.4 GHz 射频信号靠近…

华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!

真正的5G时代&#xff0c;万物互联各行各业都离不开智能物联网技术物联网 (IoT) 设备会生成海量数据通过分析这些数据可以提供业务洞察力优化业务决策&#xff0c;实现流程自动化也由于物联网的迅速兴起&#xff0c;专业性人才稀缺各阶层课程层出不穷&#xff0c;开发者眼花缭乱…

现在不要着急买房

我写这篇文章&#xff0c;是因为确实最近有人向我咨询买房的事&#xff0c;今天抽空想聊下这方面的事&#xff0c;如果观点不正确&#xff0c;欢迎评论说出你的想法。是前天&#xff0c;我一个同学咨询我买房的事情。我也直接说了&#xff0c;最近两年&#xff0c;把钱放在口袋…

解决vlc-android播放http视频退出问题

之前用vlc-android播放http视频,程序就自动退出了,尝试用ndk-gdb调试,但是一调试,就报 /home/administrator/code/vlc-android/extras/package/android/vlc-android/obj/local/armeabi/gdb.setup:4: Error in sourced command file:Remote communication error: Connection res…

受保护的属性无法直接读取

转载于:https://www.cnblogs.com/xiaobiaomei/p/9645795.html

MDK530编译出现ARM版本不符问题

1、用最新版的MDK530编译原来的代码出现问题&#xff1a;错误&#xff1a;“35; pragma import”是ARM编译器5的扩展&#xff0c;ARM编译器6不支持它[-Warmcc pragma import] 在仙女棒里面将ARM6修改为ARM5&#xff1a; 与此同时&#xff0c;在sys.c里面__asm void MSR_MSP(u3…

存储器Flash页、扇区、块的区别

作者 | strongerHuang微信公众号 | 嵌入式专栏大家都知道Flash是用于存储数据的存储器&#xff0c;但很多读者看到页(Page)、扇区(Sector)、块(Block)等这些单位时一脸懵逼&#xff0c;这到底是什么&#xff0c;有什么区别&#xff1f;下面就来讲讲关于Flash内部结构组织以及相…

volatile用法

许多程序员无法正确的理解C语言关键字volatile。这并不奇怪&#xff0c;大多数C原因书籍不过一两句一带而过。本文将告诉你如何正确使用它。 在C/C嵌入式代码中&#xff0c;你是否经历过下面的情况&#xff1a; ● 代码执行正常–直到你打开了编译器优化 ● 代码执行正常–直…

Linux 终端(TTY)

TTY 是 Teletype 或 Teletypewriter 的缩写&#xff0c;原来是指电传打字机&#xff0c;后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器&#xff0c;都是作为计算机的终端设备存在的&#xff0c;所以 TTY 也泛指计算机的终端(terminal)设备。为了支持这些 …

印象笔记 MAC安装使用旧版本

印象笔记终于支持markdown了&#xff0c;赞&#xff01;第一个beta版用起来非常不错。提示更新安装新版本后保存markdown一直提示 “Note content is invalid.”&#xff0c;无法保存&#xff0c;无奈下只能安装旧版本印象笔记markdown 密码:wa23安装旧版本后&#xff0c;打开印…

你打开的那些网页,大概率是被监控了

你有没有这样的经历&#xff1a;当用手机搜索一件物品时&#xff0c;APP很快就会给你精准推荐这件物品。这并不是APP有多懂你&#xff0c;而是你的隐私已被APP监视了。哪怕你用的是“清理历史记录切换无痕模式”&#xff0c;后台依然可以记录你的搜索……还有&#xff0c;长夜漫…

操作系统常见面试题

1.进程的常见状态&#xff1f;以及各种状态之间的转换条件&#xff1f; 就绪&#xff1a;进程已处于准备好运行的状态&#xff0c;即进程已分配到除CPU外的所有必要资源后&#xff0c;只要再获得CPU&#xff0c;便可立即执行。执行&#xff1a;进程已经获得CPU&#xff0c;程序…

加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考...

1。功能要求相对复杂的信息管理系统&#xff0c;有比较严格的权限管理设置的需求。例如业务管理系统中的一个角色只能查看金额小于500万的合同&#xff0c;而且只能看自己所在部门的合同&#xff0c;系统要求限制条件能灵活设置过滤所能看到的&#xff0c;所能操作的数据项&…

性能强悍的MCU,主频干到GHz

目前有两款高性能MCU印象深刻&#xff0c;不是多核心就是主频上1GHz。这也许是为了满足一些高数据吞吐量但仍需高实时性的需求吧。比如机械臂。一、第一款是来自于TI的Sitara AM2x&#xff0c;如型号为AM2434的单片机&#xff0c;拥有四个800MHz的核心&#xff0c;官方称为双核…

Unity3D_(游戏)控制物体的上、下、左、右移动

通过键盘上↑、↓、←、→实现对物体的控制 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Gary_Text : MonoBehaviour {public Transform WuTi;public float speed 1;// Use this for initializationvoid Start () {}// Upda…

糟糕的C语言睡眠排序算法

不知道大家知道这个算法没有&#xff0c;就是靠睡觉完成排序的。比如数字1 4 3&#xff0c;第一个数字1的时候&#xff0c;创建一个线程&#xff0c;然后让线程休眠1个时间单位&#xff0c;依次是 4 和 3个单位。因为睡眠的时间不同&#xff0c;线程醒的时间也不同。3会比4先醒…

写给小白看的,逆向工程怎么上路?

什么是逆向工程大家好&#xff0c;我是写代码的篮球&#xff0c;这篇文章转自小白哥的文章。给大家出一道思考题&#xff1a;用C语言设计一个程序&#xff0c;验证输入的密码是否是“12345678”&#xff0c;如果验证成功&#xff0c;就输出“success”&#xff0c;如果验证失败…

线程、同步与锁——Mutex想说爱你不容易

除了Lock&#xff08;&#xff09;、Monitor之外&#xff0c;我们最长用的就是Mutex了&#xff0c;但是玩不好Mutex就总会造成死锁或者AbandonedMutexException&#xff08;我就玩的不怎么好&#xff0c;在并发性访问测试的时候总是遇到关于Mutex的问题&#xff0c;各位线虫见笑…