计算机中数据实体和数据表示形式(以C#为例)
摘自网络的一段话:
“在程序代码中,可以用多种方式表示数据,十进制、十六进制、八进制都是常用的表示方式,但计算机内部永远就只使用二进制,与你写程序时用什么无关。你说要定义数组int a[10],其中涉及具体数据表示的就只有十进制数10,但这个数值你完全可以用十六进制表示,写int a[0x0A],最终结果都是一样的,数组a都是(十进制)10个元素。至于如果你说数组a中要储存十六进制数据,那也是跟这个完全一样,计算机内部就只认识那些二进制数,呈现出来人眼要观察那些数据,是你希望它以什么进制显示出来给你看而已,你希望看十进制,就命令它用十进制显示,希望看十六进制,就命令它用十六进制显示,无论显示的是什么进制,数值本身永远是一样的,输入时,也不管你用什么进制输入,都以该进制的实际数值储存。”
实践:
////16进制(2进制,8进制)数转换为10进制
//方法一
//得到一个16进制数,存入字符串变量中,
string s16a = (0x120).ToString();//s16a为"288",期望为"0x120"。
string s16b = "0x120";
//使用Convert方法转换,把16进制的s转换为10进制数放入变量中
int num11 = Convert.ToInt32(s16a, );//num11值为648,不是期望的结果
int num12 = Convert.ToInt32(s16b, );//num12值为288
Console.WriteLine("num11为{0},num12为{1},转换前s16a为{2},s16b为{3}", num11, num12, s16a, s16b);
//方法二
//如果存入int变量中,会自动转换为10进制
int num2 = 0x120; //num值为288 ////10进制数转换为16进制(2进制,8进制)
int i10 = ;
string s16 = Convert.ToString(i10, );
string s8 = Convert.ToString(i10, );
string s2 = Convert.ToString(i10, );
Console.WriteLine("s16为{0},s8为{1},s2为{2},转换前i10为{3}", s16, s8, s2, i10); Console.ReadKey();
计算机中数据实体和数据表示形式(以C#为例)的更多相关文章
- Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...
- Knowledge Point 20180305 数据在计算机中的表示
计算机发明的初衷就是用于帮助我们加工和处理数据,虽然时至今天计算机看起来无所不能,但它根本上还是在做数据的加工和处理,数据的机器层次表示将直接影响到计算机的结构和性能. 在计算机中,采用数字化方式来表 ...
- .NET中微软实体框架的数据访问方法
介绍 本文的目的是解释微软的实体框架提供的三种数据访问方法.网上有好几篇关于这个话题的好文章,但是我想以一个教程的形式更详细地介绍这个话题,这个教程对于开始学习实体框架及其方法的人来说是个入门.我们将 ...
- 自动匹配HTTP请求中对应实体参数名的数据(性能不是最优)
/// <summary> /// 获取请求参数字段 /// </summary> /// <typeparam name="T"></t ...
- Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射?
NET[C#]Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射? 问题描述 比如有如下的数据表结构:Person: person_id int first_name va ...
- 聊聊计算机中的编码(Unicode,GBK,ASCII,utf8,utf16,ISO8859-1等)以及乱码问题的解决办法
作为一个程序员,一个中国的程序员,想来“乱码”问题基本上都遇到过,也为之头疼过.出现乱码问题的根本原因是编码与解码使用了不同而且不兼容的“标准”,在国内一般出现在中文的编解码过程中. 我们平时常见的编 ...
- 负数在计算机中的表示 Byte-128
本文转载: http://blog.csdn.net/njuitjf/article/details/4585247 原码:将一个整数,转换成二进制,就是其原码.如单字节的5的原码为:0000 010 ...
- 计算机中如何实现除数是2的幂次的除法【转载自CSDN】
前言: 本来是在看汇编里面的数据条件传送指令,做习题的时候看着这么一道有关于2的幂次方除法的题目.结果傻眼了,又尼玛不会了.........第二章看的时候就稀里糊涂的,看了几遍也没看太懂,这回又涉及到 ...
- 详解计算机中的Byte、bit、字、字长、字节
最近突然有同事问我,关于计算机中的计量单位大B和小b的区别,以及KB到GB之间的换算问题,我当时觉得这问题简单,大B是 byte,小b是bit,但是想到他俩之间的换算时,一时有些想不起来具体是1Byt ...
随机推荐
- array new 与 array deletedelete
以前在看C++书和上C++课的时候可以看到 delete[] pointer; 的用法,而大多数对于这个用法没有具体的解释,多是看到: 有一个delete运算符的特殊语法,可以释放动态分配的数组内存: ...
- iOS——Core Animation 知识摘抄(三)
原文地址:http://www.cocoachina.com/ios/20150105/10827.html CAShapeLayer CAShapeLayer是一个通过矢量图形而不是bitmap来绘 ...
- bitmap算法
概述 所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素.由于采用bit为单位来存储数据,因此在可以大大的节省存储空间 算法思想 32位机器上,一个整形,比如int ...
- as3 Loader 加载资源后内存泄露无法释放的问题。
本人用Loader加载外部一个swf.之后unloadAndStop,Flash概要分析发现,内存没有被释放. 网上搜了一大堆文章,要么就是加载bitmapdata之后,自己dispose,要么就是加 ...
- boost常用记录
1.BOOST_FOREACH 经常会遍历容器,写for/while循环到手痛,使用BOOST_FOREACH可以减少我们的工作.支持容器vector/list/set/deque/stack/que ...
- C#基础入门一
.net(软件开发平台)-------------------------------------------------------- 学习内容:.net平台下的开发语言. .net freamwo ...
- cocoapods 更新
sudo gem update --system sudo gem install cocoapods pod setup pod --version
- 说说设计模式~观察者模式(Observer)
返回目录 观察者模式,也叫发布/订阅模式(publish/subscribe),监视器模式等.在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知.这通常透过呼 ...
- css自适应宽高等腰梯形
t1是梯形, ct是梯形里面的内容. 梯形的高度会随着内容的高度撑高.宽度随着浏览器窗口变宽. 梯形上窄下宽或上宽下窄可以通过 transform 的大小来修改. <div class=&quo ...
- 好友录v1.2.7_Build(7790)
<好友录>是使用.net Framework4.0+sqlite开发的,属于WingKu(谷毅科技)系列软件之一.它是一款外观时尚.美观,操作简单.易用,功能强大的个人通讯信息管理软件.它 ...