Forum Discussion
Whoaa_aaa_14293
Feb 26, 2014Nimbostratus
High and low bits of 64-bit long and C#
Hi, what is the best way to take the high and low bits provided through iControl and create a 'long' in C from them?
I am currently using:
long wut = (ssl.statistics[0].value.high << 32) | ...
- Feb 26, 2014
I can't help you with C, but maybe you'll be able to convert this. Here's how I do it in Python:
def convert_to_64_bit(high, low): """ Converts two 32 bit signed integers to a 64-bit unsigned integer. """ if high < 0: high = high + (1 << 32) if low < 0: low = low + (1 << 32) value = long((high << 32) | low) assert(value >= 0) return value
Whoaa_aaa_14293
Feb 26, 2014Nimbostratus
For instance, using the values for STATISTIC_MEMORY_TOTAL_BYTES: ulong bl = (ulong)(val.high << 32) | (ulong)val.low;
results in:
High: 7 Low: -546316288 Result: 18446744073163235328
This is a crazy number and is in no way accurate. If I treat them as longs and not ulongs, the result is negative, which (again) is not accurate.
Thoughts?
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects