Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menyimpan Nilai Hash uint64 dalam BIGINT PostgreSQL Walaupun Had Saiz?

Bagaimanakah Saya Boleh Menyimpan Nilai Hash uint64 dalam BIGINT PostgreSQL Walaupun Had Saiz?

DDD
Lepaskan: 2024-12-01 01:57:10
asal
984 orang telah melayarinya

How Can I Store uint64 Hash Values in PostgreSQL's BIGINT Despite Size Limitations?

Integer Melimpah Secara Sengaja untuk Storan PostgreSQL

Dalam konteks menyimpan nilai cincang uint64, yang melebihi saiz jenis data BIGINT PostgreSQL (ditandatangani 64 bit), penyelesaian biasa ialah menukar uint64 kepada int64 dengan hanya menukar jenis tanpa mengubah perwakilan binari.

Penyelesaian:

i := uint64(0xffffffffffffffff)
i2 := int64(i)
Salin selepas log masuk

Menggunakan penukaran jenis ini, nilai uint64 diperuntukkan kepada pembolehubah int64 sementara mengekalkan perwakilan binari asalnya. Ini mungkin kerana penukaran tidak mengubah perwakilan memori nilai, hanya jenisnya.

Output:

18446744073709551615 -1
Salin selepas log masuk

Menukar uint64 kepada int64 sentiasa berjaya, tanpa mengira nilainya. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menukar nilai pemalar integer yang tidak ditaip kepada int64 boleh mengakibatkan ralat masa kompilasi jika ia melebihi nilai maksimum yang boleh diwakili oleh int64 (0x7fffffffffffffff).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Nilai Hash uint64 dalam BIGINT PostgreSQL Walaupun Had Saiz?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan