PHP mengalami pengecualian
P粉739886290
P粉739886290 2023-09-15 09:45:00
0
1
460

Saya telah menguji operator bitwise dalam PHP dan menghadapi masalah yang sangat pelik. Prosedur berikut

<?php

  $foon = b'11111111';

  for ($i = 0; $i <= 7 ; $i++) {
    $foo = (($foon & (1 << $i)) > 0) ? 1 : 0;
    echo "目标的第" . $i . "位是" . $foo . "<br />" . PHP_EOL;
  }

hendaklah menghasilkan output berikut

目标的第0位是1
目标的第1位是1
目标的第2位是1
目标的第3位是1
目标的第4位是1
目标的第5位是1
目标的第6位是1
目标的第7位是1

Namun, output sebenar ialah

目标的第0位是1
目标的第1位是1
目标的第2位是1
目标的第3位是0
目标的第4位是0
目标的第5位是0
目标的第6位是1
目标的第7位是1

Adakah saya terlepas pandang sesuatu yang sangat jelas, atau adakah terdapat pepijat dalam PHP? Saya menggunakan PHP versi 8.2.4 yang dipasang melalui XAMPP. Terima kasih banyak-banyak.

P粉739886290
P粉739886290

membalas semua(1)
P粉022723606

Tidak mengapa, saya faham. b'11111111' sebenarnya bukan perwakilan binari dalam PHP, walaupun ia tidak akan menimbulkan ralat. Menetapkan 0b11111111 kepada pembolehubah saya memberikan saya jawapan yang betul.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!