我想输入一个整数,并用二进制和十六进制表示。然后我想将第12,13,14和15位移到$ a0的最低有效位,并将输出表示为二进制和十六进制。这是我的计划:
$creditCards = [];
\Stripe\Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
$stripeCustomer = \Stripe\Customer::retrieve($booking->customer->stripe_customer_id);
$defaultSource = $stripeCustomer->default_source;
foreach($stripeCustomer->sources->all()->data as $paySource) {
switch($paySource['object']) {
case 'card':
$creditCards[$paySource->id] = $paySource->brand . ' ending in ' . $paySource->last4 . ' (Exp. ' . $paySource->exp_month . '/' . $paySource->exp_year . ')';
break;
default:
throw new \Exception("Unexpected Stripe payment source type: " . $paySource['object']);
}
}
例如,对于整数1006460,输入和十六进制输出完美地工作,但二进制输出在末尾有额外的5。我得到的错误是:
这是二进制输出:0x000000055
什么可能导致这个额外的5位于输出的末尾?
答案 0 :(得分:0)
我有多傻。我应该删除
li $v0, 1
add $a0, $0, $s0
syscall
来自我的代码。