Blog


Java右移每32位(64位)循环

  • 2018年11月15日
  • Java

结果:

而如果是int, short, byte:

结果是:

  • 为何出现这样的情况?
  • 猜测是机器码只会截取低8bit/4bit作为移位量。(需反编译,待续)

  • 为何int short boolean和long不一样?

  • Java运算时默认将操作数扩展为int(long位数大于int所以不会变化),所以int,short,bo[……]

Read more




深入理解计算机系统(第三版)/ CSAPP 杂谈,第3章:程序的机器级表示

  • x86-64寄存器起名:8位,%al;16位,%ax;32位,%eax;64位,%rax
  • x86-64寄存器作用:

  • %rax: 返回值
  • %rbx: 被调用者保存
  • %rcx: 第4个参数
  • %rdx: 第3个参数
  • %rsi: 第2个参数
  • %rdi: 第1个参数
  • %rbp: 被调用者保存
  • %rsp: 栈指针
  • %r8: 第5个参数
  • %r9: 第6个参数
  • %r10: 调用者保存
  • %r11: 调用者保存
  • %r12: 被调用者保存
  • %r13: 被调用者保存
  • %r14: 被调用者保存
  • %r15: 被调用者保存

  • 操作数分三种:立即数,寄存器,内存引用

  • 汇编立即数表示:以$开头,跟着标准C表示法,如$-577,[……]

Read more




深入理解计算机系统(第三版)/ CSAPP 杂谈,第2章:信息的表示和处理

  • gcc编译可以用 -std 和-ansi 来选择C语言规范版本,默认-std=c89,外加一些C99,C11特性
  • 大小端可通过 int* 强转为 char* 来判断得出

  • 一般C语言的 char 范围是-128~127,但其实C语言规范只要求最小的可取值范围为-127~127。类似还有 short,int,long,不过它们字节数要求是16位机器的要求。int32_t,int64_t C语言规范要求和C语言实现基本一致。#无用但有趣的冷知识

  • #define INT_MAX 2147483647
    #define INT_MIN (-INT_MAX – 1)
    这里没有简单地[……]

Read more




深入理解计算机系统(第三版)/ CSAPP 杂谈,第1章:计算机系统漫游

本书第1章向我们介绍了信息的定义,以及程序是如何运行在计算机上的。

信息就是位+上下文

信息的本体是一连串的0101010101的bits,但是bits可以被解析为不同的含义,如何被解析就取决于上下文。

举个生活中的例子。“你好烦啊”如果是在一对情侣的温馨时刻中出现,那这句话可以被理解为“你个烦人的小妖精搞得我不要不要的”。而如果出现在母亲指责孩子,并且喋喋不休的情景下孩子的顶嘴,就应该理解为“你不要再说了我听不进去”。这就是上下文的作用,同样的内容,会被解析为不同的信息。

本文用到的例子是一串bits,如果代码想解析你为无符号整数,那这串bits就是正整数的信息;如果想解析为浮点数,[……]

Read more






区块链基础知识介绍ppt

PPT 为公司内部的知识分享而做,从软件和架构的角度介绍了区块链的基本结构和运行方式。因为公司是商业密码公司,所以密码学的相关知识没有在 PPT 中介绍

区块链基础知识-陈浩

版权所有,转载请注明出处:
https://sickworm.com/?p=432




比特币多种输出脚本(outputScript,scriptPubKey)介绍

目前可见outputScript(scriptPubKey)格式:(参考https://bitcoin.stackexchange.com/questions/73758/what-are-the-standard-formats-of-transaction-outputs

p2pk
43 41
data(0x41):04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ac
23[……]

Read more




比特币隔离见证交易格式解析(Segregated witness)

如果你还不了解经典交易构成,请看:https://blog.csdn.net/q4878802/article/details/49638457

隔离见证交易相关规范:

BIP141

BIP143

BIP144

BIP173

隔离见证 Segregated witness 交易解析

交易:https://testnet.blockchain.info/tx/f299afe17901f5a8d87f306c13f42c6fbf3d5b5de090973cf0fd34d403ccd2b8

交易报文:

01000000
00 // marker,固定值,旧交易不能txin coun[……]

Read more




实现比特币BTC交易重发(Opt-In Replace-by-Fee,Opt-In RBF)

当你的交易因为交易费用过低而迟迟不能被节点确认,而又没有被节点抛弃的时候,你可能需要交易重发这个功能。而交易重发实际上就是,将保存在节点交易内存池中的你的交易(因为还没被确认)替换成新的交易。

BTC交易重发的三种方法:

  1. Opt-In Replace-by-Fee,简称 Opt-In RBF 或 RBF。将更高手续费用的交易提交到节点,也是本文着重介绍的方法。具体规范:BIP125
  2. CPFP,Child Pays for Parent。使用未确认交易的输出,并给予较高手续费。此时节点如果要打包这个子交易,则必须将其低手续费的父交易也一并打包。具体策略应该是一系列交易的平均手续费(未确认)[……]

Read more




腾讯云自媒体分享计划

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wotgdo5wqshi