คุณคูณบิตคอยน์ได้ไหม

สารบัญ:

คุณคูณบิตคอยน์ได้ไหม
คุณคูณบิตคอยน์ได้ไหม
Anonim

สามารถคูณตัวเลขด้วย 2 โดยใช้ ตัวดำเนินการระดับบิต ทำได้โดยใช้ตัวดำเนินการ shift ซ้ายและเลื่อนบิตไปทางซ้าย 1 ซึ่งส่งผลให้ตัวเลขก่อนหน้าเป็นสองเท่า โปรแกรมที่แสดงการคูณตัวเลขด้วย 2 โดยใช้ตัวดำเนินการระดับบิตมีดังนี้

คุณคูณด้วย Bitwise อย่างไร

การคูณด้วยค่าใดๆ ของ 2 ยกกำลัง N (i.e. 2^N) เลื่อนบิต N ครั้งไปทางซ้าย วิธีแบ่ง shift bits ไปทางขวา บิตเป็นจำนวนเต็ม 1 หรือ 0 - คุณไม่สามารถเลื่อนด้วยส่วนหนึ่งของบิตได้ ดังนั้นหากจำนวนที่คุณกำลังคูณจะไม่แยกตัวประกอบค่าทั้งหมดของ N เช่น

การคูณ Bitwise เร็วขึ้นหรือไม่

การเปลี่ยนบิตยังเร็วกว่า แต่สำหรับการไม่ยกกำลังสอง mul/div เมื่อคุณทำการเปลี่ยนแปลงทั้งหมดและเพิ่มผลลัพธ์ มันจะช้าลงอีกครั้ง

การคูณหรือหารเร็วกว่าคืออะไร

การคูณคือ เร็วกว่าการหาร ที่มหาวิทยาลัย ผมสอนว่าการหารใช้เวลาหกเท่าของการคูณ การกำหนดเวลาจริงขึ้นอยู่กับสถาปัตยกรรม แต่โดยทั่วไปการคูณจะไม่ช้าหรือช้าเท่าการหาร

Bitshifting เร็วกว่าการคูณหรือไม่

การเลื่อนบิตไปทางซ้ายและขวาดูเหมือนจะเร็วกว่าการคูณและการหาร ส่วนใหญ่ หรือแม้แต่ซีพียูทั้งหมด หากคุณบังเอิญใช้กำลัง 2 อย่างไรก็ตาม มัน สามารถลดความชัดเจนของโค้ดสำหรับผู้อ่านบางคนและบางอัลกอริธึมได้