Подраздел не нужен:
#include <string.h>
#include <stdio.h>
typedef unsigned long uint32;
/* N[0] - contains least significant bits, N[3] - most significant */
char* Bin128ToDec(const uint32 N[4])
{
// log10(x) = log2(x) / log2(10) ~= log2(x) / 3.322
static char s[128 / 3 + 1 + 1];
uint32 n[4];
char* p = s;
int i;
memset(s, '0', sizeof(s) - 1);
s[sizeof(s) - 1] = '\0';
memcpy(n, N, sizeof(n));
for (i = 0; i < 128; i++)
{
int j, carry;
carry = (n[3] >= 0x80000000);
// Shift n[] left, doubling it
n[3] = ((n[3] << 1) & 0xFFFFFFFF) + (n[2] >= 0x80000000);
n[2] = ((n[2] << 1) & 0xFFFFFFFF) + (n[1] >= 0x80000000);
n[1] = ((n[1] << 1) & 0xFFFFFFFF) + (n[0] >= 0x80000000);
n[0] = ((n[0] << 1) & 0xFFFFFFFF);
// Add s[] to itself in decimal, doubling it
for (j = sizeof(s) - 2; j >= 0; j--)
{
s[j] += s[j] - '0' + carry;
carry = (s[j] > '9');
if (carry)
{
s[j] -= 10;
}
}
}
while ((p[0] == '0') && (p < &s[sizeof(s) - 2]))
{
p++;
}
return p;
}
int main(void)
{
static const uint32 testData[][4] =
{
{ 0, 0, 0, 0 },
{ 1048576, 0, 0, 0 },
{ 0xFFFFFFFF, 0, 0, 0 },
{ 0, 1, 0, 0 },
{ 0x12345678, 0x90abcdef, 0xfedcba90, 0x8765421 }
};
printf("%s\n", Bin128ToDec(testData[0]));
printf("%s\n", Bin128ToDec(testData[1]));
printf("%s\n", Bin128ToDec(testData[2]));
printf("%s\n", Bin128ToDec(testData[3]));
printf("%s\n", Bin128ToDec(testData[4]));
return 0;
}
Выход:
0
1048576
4294967295
4294967296
11248221411398543556294285637029484152
Мне нравится пакет Гибкости HTML - это - очень разработчик, дружественный, свободный и исходный код доступен.
Если Ваш HTML следует стандартам XHTML, можно сделать большой парсинг и обработку использования классов пространства имен System.XML.
, Если, с другой стороны, если то, что Вы анализируете, - то, что веб-разработчики называют "супом тега", Вам будет нужен сторонний синтаксический анализатор как Пакет Гибкости HTML .
Это может быть только частичным решением Вашей проблемы, при попытке выяснить, как браузер интерпретирует Ваш HTML как каждый суп тега синтаксических анализов браузера немного по-другому.
Join
были существенно быстрее. ideone.com/xW1CnL . You' ll должен выполнить код самостоятельно для использования большего набора данных.
– Servy
3 April 2013 в 04:41
Это хорошо формируется? Если HTML на самом деле хорошо формируется затем, он может быть проанализирован как XML. Если бы это - суп тега и существуют открытые элементы, и такой я думал бы, что необходимо было бы искать вокруг для стороннего решения.
'add prog ref too: Microsoft.mshtml
'затем на странице:
Imports mshtml
Function parseMyHtml(ByVal htmlToParse$) As String
Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
htmlDocument.write(htmlToParse)
htmlDocument.close()
Dim allElements As IHTMLElementCollection = htmlDocument.body.all
Dim allInputs As IHTMLElementCollection = allElements.tags("a")
Dim element As IHTMLElement
For Each element In allInputs
element.title = element.innerText
Next
Return htmlDocument.body.innerHTML
End Function
Как найдено здесь:
Join
быть выписанным с помощью синтаксиса запроса по синтаксису метода, еще больше, чем любой из других методов запроса. – Servy 3 April 2013 в 03:58