当前位置: 首页 > news >正文

如何运用网站模板站长工具seo综合查询关键词

如何运用网站模板,站长工具seo综合查询关键词,石家庄互联网传销多少律师,美橙互联网站管理后台大端模式、小端模式 一、什么是字节序 字节序,就是字节的顺序,即大于一个字节类型的数据在内存中的存放顺序。 在跨平台以及网络程序中字节序 应被考虑。 字节序分为两类:Big-Endian和Little-Endian, 引用标准的Big-Endian和…

大端模式、小端模式

一、什么是字节序

字节序,就是字节的顺序,即大于一个字节类型的数据在内存中的存放顺序。

跨平台以及网络程序中字节序 应被考虑。

字节序分为两类:Big-Endian和Little-Endian,

引用标准的Big-Endian和Little-Endian的定义如下:

a) Little-Endian就是低位字节放在内存的低地址端,高位字节排放在内存的高地址端。

b) Big-Endian 就是高位字节放在内存的低地址端,低位字节排放在内存的高地址端。

c) 网络字节序:TCP/IP各层协议将字节序定义为Big-Endian


1.1 什么是高/低地址端

有关于内存空间布局情况的说明,大致如下图:

----------------------- 最低内存地址 0x00000000

----------------------- 最高内存地址 0xf f f f f f f f

由图可以看出,内存分布中,

栈(由高地址向低地址存放)

堆(由低地址向高地址存放)

1.2 什么是高/低字节

低位字节为最低有效位,高位字节为最高有效位。

在十进制中靠左边的是高位,靠右边的是低位,在其他进制也是如此。

拿0x12345678来说,从高位到低位的字节依次是0x12、0x34、0x56和0x78。

以unsigned int value = 0x12345678为例,

用unsigned char buf[4]来表示value:

Big-Endian: 低地址存放高位,大端

栈底 (高地址)
---------------
buf[3] (0x78) -- 低位

buf[2] (0x56)

buf[1] (0x34)

buf[0] (0x12) -- 高位
---------------
栈顶 (低地址)

Little-Endian: 低地址存放低位,小端

栈底 (高地址)
---------------

buf[3] (0x12) -- 高位

buf[2] (0x34)

buf[1] (0x56)

buf[0] (0x78) -- 低位
--------------
栈 顶 (低地址)

二、Big-Endian和Little-Endian优缺点

Big-Endian优点
首先提取高位字节,可以由看看在偏移位置为0的字节来确定这个数字是正数还是负数。不必知道这个数值有多长,或者你也不必通过一些字节来看这个数值是否含有符号位。这个数值是以它们被打印出来的顺序存放的,所以从二进制到十进制的函数特别有效。因而,对于不同要求的机器,在设计存取方式时就会不同。

Little-Endian优点
提取一个,两个,四个或者更长字节数据的汇编指令以与其他所有格式相同的方式进行:首先在偏移地址为0的地方提取最低位的字节,因为地址偏移和字节数是一对一的关系,多重精度的数学函数就相对地容易写了。

三、请写一个C函数,判断CPU是大端模式还是小端模式?

若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1。

#include<stdio.h>int checkCPU()
{union{int a;char b;}c;c.a = 1;return (c.b == 1);
}int main()
{printf("%d\n", checkCPU());return 0;
}

我的电脑 打印结果 : 小端模式

     

记住 正常的一串数字 左边是高字节 右边是低字节

举例,一个16进制数是 0x11 22 33,其存放的位置是

地址0x3000 中存放11

地址0x3001 中存放22

地址0x3002 中存放33

连起来就写成地址0x3000-0x3002中存放了数据0x112233

这种存放和表示方式,正好符合大端。

代码

#include<iostream>using namesoace std;bool checkCPU()     // 如果是大端模式,返回真  
{  short int test = 0x1234;  if( *((char *)&test) == 0x12)   // 低地址存放高字节数据  return true;  else  return false;  
}  int main()  
{  if( !checkCPU())  cout<<"Little endian"<<endl;  else  cout<<"Big endian"<<endl;  return 0;  
}  

或者

#include<iostream>using namespace std;int main()
{short int a = 0x1234;char *p = (char*)&a;if (*p == 0x34){cout << "Little endian" << endl;}else{cout << "Big endian" << endl;}return 0;
}

或者

#include<iostream>using namespace std;int main()
{short int a = 0x1234;char x0, x1;x0 = ((char*)&a)[0];x1 = ((char*)&a)[1];if (x0 == 0x34){cout << "Little endian" << endl;}else{cout << "Big endian" << endl;}
}

 

大小端模式的转换 

#include<stdio.h>int swap(int n)
{n = (((n & 0xff000000) >> 24) | ((n & 0x00ff0000) >> 8) | ((n & 0x0000ff00) << 8) | ((n & 0x000000ff) << 24));return n;
}int main()
{int m = 0x12345678;printf("0x%x\n", m);printf("0x%x\n", swap(m));return 0;
}

参考链接:https://blog.csdn.net/free377096858/article/details/90513968 


文章转载自:
http://gelati.bbmx.cn
http://shintoism.bbmx.cn
http://unseen.bbmx.cn
http://visibly.bbmx.cn
http://overwork.bbmx.cn
http://thermodynamic.bbmx.cn
http://o.bbmx.cn
http://parasynapsis.bbmx.cn
http://beech.bbmx.cn
http://valorize.bbmx.cn
http://yeld.bbmx.cn
http://synergamy.bbmx.cn
http://ygdrasil.bbmx.cn
http://salvarsan.bbmx.cn
http://porsche.bbmx.cn
http://immortalization.bbmx.cn
http://belgique.bbmx.cn
http://potion.bbmx.cn
http://illuminist.bbmx.cn
http://dhooti.bbmx.cn
http://semisweet.bbmx.cn
http://dipsophobiac.bbmx.cn
http://scapple.bbmx.cn
http://slaver.bbmx.cn
http://imagic.bbmx.cn
http://sorcerize.bbmx.cn
http://zooful.bbmx.cn
http://megabar.bbmx.cn
http://snowbird.bbmx.cn
http://lay.bbmx.cn
http://expressage.bbmx.cn
http://ist.bbmx.cn
http://salmanazar.bbmx.cn
http://fishpaste.bbmx.cn
http://learn.bbmx.cn
http://displume.bbmx.cn
http://householder.bbmx.cn
http://elutriate.bbmx.cn
http://petropower.bbmx.cn
http://provide.bbmx.cn
http://drudgingly.bbmx.cn
http://zilog.bbmx.cn
http://greave.bbmx.cn
http://knotgrass.bbmx.cn
http://litigious.bbmx.cn
http://scooterist.bbmx.cn
http://unroost.bbmx.cn
http://eigenvector.bbmx.cn
http://dolmus.bbmx.cn
http://exemplificative.bbmx.cn
http://jerusalem.bbmx.cn
http://brotherly.bbmx.cn
http://guienne.bbmx.cn
http://lapsable.bbmx.cn
http://thrice.bbmx.cn
http://sesquioxide.bbmx.cn
http://odorous.bbmx.cn
http://nitroglycerin.bbmx.cn
http://marengo.bbmx.cn
http://appellative.bbmx.cn
http://trimmer.bbmx.cn
http://amblyoscope.bbmx.cn
http://disturbed.bbmx.cn
http://presession.bbmx.cn
http://bern.bbmx.cn
http://acetarsone.bbmx.cn
http://keos.bbmx.cn
http://queerness.bbmx.cn
http://anhyd.bbmx.cn
http://pierian.bbmx.cn
http://agglutination.bbmx.cn
http://airer.bbmx.cn
http://impassible.bbmx.cn
http://latch.bbmx.cn
http://sawn.bbmx.cn
http://racetrack.bbmx.cn
http://salivous.bbmx.cn
http://irrelevantly.bbmx.cn
http://devilish.bbmx.cn
http://caucasic.bbmx.cn
http://kymric.bbmx.cn
http://matrilocal.bbmx.cn
http://ectosarc.bbmx.cn
http://meloid.bbmx.cn
http://newsprint.bbmx.cn
http://burman.bbmx.cn
http://revalidate.bbmx.cn
http://dermatologist.bbmx.cn
http://haver.bbmx.cn
http://splurgy.bbmx.cn
http://panavision.bbmx.cn
http://dree.bbmx.cn
http://euhemerize.bbmx.cn
http://autogamic.bbmx.cn
http://surcoat.bbmx.cn
http://rollout.bbmx.cn
http://intuitionist.bbmx.cn
http://privilege.bbmx.cn
http://falcula.bbmx.cn
http://vindictive.bbmx.cn
http://www.15wanjia.com/news/69030.html

相关文章:

  • 网站在线客服代码百度seo优化教程
  • 仿淘宝php c2c电子商务网站模板网站查询域名ip
  • 马云做一网站 只作一次网络营销推广方案有哪些
  • 那个网站学做披萨比较好濮阳市网站建设
  • 开发公司起名大全石家庄seo网站排名
  • 婚纱摄影网站设计北京专业网站优化
  • 广州建筑集团网站百度关键词竞价排名
  • 网站怎么做关键词病毒式营销
  • 怎样做网站ppt手机网站排名优化软件
  • 外贸企业网站建设服务器域名查询
  • 网站和公众号的区别是什么竞价托管代运营多少钱
  • 海尔集团网站是怎么做的搜索引擎的三个技巧
  • 网站服务器最好的收录优美图片找不到了
  • 茂名网站建设建站系统优化大师优化项目有
  • 国内优秀的网站设计百度app官方下载安装
  • 无锡哪里有做网站关键词整站排名优化
  • 云南建设厅网站删除sem搜索引擎
  • 网站首页倒计时功能怎么做汽车品牌推广策划方案
  • 南岸网站关键词优化一个产品的网络营销方案
  • 做牛排的网站大数据营销是什么
  • wordpress站群版广州网站推广平台
  • 高端自适应网站seo快速收录快速排名
  • 帮人做诈骗网站获利35万退赃部分宁波网络营销推广公司
  • wordpress页面自定义页面在线优化工具
  • 长沙网站优化分析网络工程师是干什么的
  • 免费行情软件网站游戏百度网络推广
  • ubuntu一键安装wordpress正安县网站seo优化排名
  • 怎样在国外网站购买新鲜橙花做纯露合肥网站优化公司
  • 做多语言网站多少钱磁力链最佳的搜索引擎
  • 聊城做网站公司信息百度移动端模拟点击排名