EOJ 2822 内存显示
一个 int 类型变量或 double 类型变量在连续几个字节的内存中存放。读取数值时,当数值中包含小数点时类型为 double,否则类型为 int。将读入的数值存放在 int 类型变量或 double 类型变量中。以十六进制格式(a-f 字母采用小写形式)输出相应变量的连续的每个字节的值。
读入的数据保证能在一个 int 类型或 double 类型变量中正确存放。
注意:int 类型变量和 double 类型变量所占字节数以及一个变量的几个字节的存放顺序与所用计算机的体系结构和编译系统有关。
Input
每一行包含一个数值
Output
每行对应一个数据,每个字节后面都要输出一个空格。
Examples
1
-1
0
3.14
0.0
-1.0
01 00 00 00
ff ff ff ff
00 00 00 00
1f 85 eb 51 b8 1e 09 40
00 00 00 00 00 00 00 00
00 00 00 00 00 00 f0 bf
注意每行的最后都有一个空格
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void solveint(int n)
{
int c=sizeof(n);
unsigned char* p=(unsigned char*)&n;
while (c--)
printf("%02x ",*p++);
printf("\n");
}
void solvedouble(double d)
{
int c=sizeof(d);
unsigned char* p=(unsigned char*)&d;
while (c--)
printf("%02x ",*p++);
printf("\n");
}
int main()
{
char s[];
while (scanf("%s",s)!=EOF)
if (strchr(s,'.')==) solveint(atoi(s));
else solvedouble(atof(s));
return ;
}
输入,判断数是int类型还是double类型
int字节数: sizeof(int)
开始字节地址:&n
double字节数: sizeof(double)
开始字节地址:&d
&n的类型为int*
&d的类型为double*
为了按字节逐个输出,都强制转换成
unsigned char*类型,小写字母表示的十六
进制输出格式控制符为%02x
EOJ 2822 内存显示的更多相关文章
- 【转】windows7 64位系统认不出8g内存显示只有3G可用
原文网址:http://www.jb51.neos/windows/93721.html 我的电脑安装的是Win7 64位系统,当时内存是用的8G的,系统里面显示出来只有3.00G可用,真是崩溃啊 ...
- QList内存释放(看它内部存储的是否是Object,另外还有qDeleteAll)
QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplicat ...
- 面向对象编程(十)——继承之Super关键字及内存分析
Super关键字
- Linux命令(1) - 查看内存使用情况: free -hm
使用"free -hm"命令查看linux服务器的内存使用状况,其中-h表示人性化显示,-m表示将内存显示为M:
- 32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 博客分类: Windows XPWindowsIE企业应用软件测试 我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽 ...
- 关于手机"内存"的解答
关于手机"内存"的解答 内存小/少 手机内存在手机出厂的时候就已经固定了,其总量无法调整,不能像电脑一样加内存条.所以想提升可用内存,除了经常清理系统,或者把不是必须的应用移到SD ...
- jconsole工具使用----jvm内存泄漏问题
转载地址:https://www.cnblogs.com/baihuitestsoftware/articles/6405580.html Jconsole,Java Monitoring and M ...
- [转]QList内存释放
QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplicat ...
- 64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多?(一)
前言: cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设计.64位操作系统针对的64位的CPU设计.操 ...
随机推荐
- CSS3 3D变换实例 滚动的正方体
笔记: 2D变换 transform 位移 translateX() translateY() 简写:translate(X值,Y值) 正值向右,负值向左 旋转 rotate() rotat ...
- Python yield解析
Pyhton generators and the yield keyword At a glance,the yield statement is used to define generators ...
- 折纸---珠穆朗玛问题----简单for 循环
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? package com.zuoye.test; public class Zhezhi { public s ...
- 递归删除List元素
public List<Redenvelope> DeleteList(List<Redenvelope> list) { foreach (var item in list) ...
- Scala类型系统——高级类类型(higher-kinded types)
高级类类型就是使用其他类型构造成为一个新的类型,因此也称为 类型构造器(type constructors).它的语法和高阶函数(higher-order functions)相似,高阶函数就是将其它 ...
- Monad (functional programming)
In functional programming, a monad is a design pattern that defines how functions, actions, inputs, ...
- React Native - 使用Vibration API实现设备振动
有时程序中需要实现这样的功能,当有重要的消息提醒时,我们会发出声音告知用户.而如果用户关闭了声音,那么就可以改用振动来提醒用户. 使用 React Native 提供的 Vibration API,我 ...
- 使用Java生成具有安全哈希的QR码
这是关于如何在Java中使用salt生成QR代码和安全散列字符串的分步教程. 首先,需要一个可以处理QR码的库,我决定使用Zebra Crossing("ZXing")库,因为它简 ...
- 【转载】使用JSONObject生成和解析json
1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组 Object 对象 null 空值 (1)json中不区分整数.小数等类型, ...
- vue 中引入Jquery插件
import $ from '../../static/js/jquery.min.js' window.jQuery = $; require('../../static/js/jquery.zoo ...