整数表示

在IA32上无符号的整型变量在内存中是“倒”存储的,如一个整数: 305419896 换算成 16进制
是0x12345678, 在内存中从低地址到高地址的4个字节里的数据分别是 0x78 0x56 0x34 0x12 。
你的任务是对于每个输入n, 输出其在内存中从低地址到高地址的存储数据。 表示十六进制数用到
字母时,一律大写。如: 不能输出 0x1d,而要输出 0x1D。 每字节之间用空格分开。
如:n=0,则输出:0x00 0x00 0x00 0x00
    n=5987456,则输出:0x80 0x5C 0x5B 0x00这样,先转成16进制,然后去掉0x,再变成大写,然后隔开分成两组倒过来再组合:12345678分成1357和2468-->7531,8642-->78563412最后加上空格和0x就成了~
n = 6666666
s_ = ""
s = str(hex(n))
s = s[2:].upper()
i = len(s)
while i < 8:
    s = ‘0‘ + s
    i += 1
s1 = s[:7:2][::-1]
s2 = s[1::2][::-1]
for j in xrange(4):
    s_ += s1[j] + s2[j]
s_ = list(s_)
for k in xrange(1,4):
    s_.insert((k*2)+k-1, ‘ 0x‘)
s_ = ‘0x‘+‘‘.join(s_)
print s_

不过自己觉得自己写的超麻烦。。。

时间: 2024-11-03 21:50:11

整数表示的相关文章

JAVA中如何将整数表示的ip地址转换为字符串表示

/** * 将整数表示的ip地址转换为字符串表示. * * @param ip 32位整数表示的ip地址 * @return 点分式表示的ip地址 */public static final String long2Ip(final long ip) {      final long[] mask = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 };      final StringBuilder ipAddress = new Stri

JAVA将整数表示的ip地址转换为字符串表示

/** * 将整数表示的ip地址转换为字符串表示. * * @param ip 32位整数表示的ip地址 * @return 点分式表示的ip地址 */ public static final String long2Ip(final long ip) { final long[] mask = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }; final StringBuilder ipAddress = new StringBuilder

318. Maximum Product of Word Lengths ——本质:英文单词中字符是否出现可以用26bit的整数表示

Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower case letters. If no such two words exist, return 0. Example

《深入理解计算机系统》2.2整数表示

整数数据类型 C语言中不同字长的机器和编译器会分配不同字节大小.long类型是唯一与机器相关的. 32位机器上C语言的整数数据类型的典型取值范围负数的取值范围比正数大1 C data type Minimum Maximum char ?128 127 unsigned char 0 255 short [ int ] ?32,768 32,767 unsigned short [ int ] 0 65,535 int ?2,147,483,648 2,147,483,647 unsigned

整数表示 补码与无符号 加法与乘法 CSAPP学习笔记

计算机中用位来表示整数,一种方式只能表示非负数,一种可以表示有符号数. 无符号数编码: 补码编码: 由上面的定义可以知道补码与无符号之间的对应关系(见下式),最高位为0时,补码与无符号表示是一样的,而最高位为1时,举个例子,补码表示的-1对应于无符号数的4294967295 . 在整数运算之前必须先了解 整数的扩展和截断 扩展分为零扩展和符号扩展,零扩展是简单的在表示的开头添加0,适用于无符号数的扩展.而符号扩展在表示中添加最高有效位值的副本,适用于补码的扩展.比如4位的1101扩展成8位,即1

7.1设计并实现有理数库,使用整数表示分子和分母,完成有理数的加减乘除与化简运算

1 //class_head.h 2 class Complex 3 { 4 public: 5 Complex() 6 {molecules=0;denominator=0;} 7 Complex(int n,int m);//对运算符的重载,c3默认会传第二个操作数的值,所以只要写一个参数//也可以这样的写法 Complex operator+(Complex &c2); 8 Complex operator+(Complex c3); 9 Complex operator-(Complex

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

[BZOJ1717][Usaco2006 Dec]Milk Patterns 产奶的模式

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1297  Solved: 705 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠.我们称之为一个"模式". John的牛奶按质量可以被赋予一个0到100